package com.example.librarymanagementsystem.mapper;

import com.example.librarymanagementsystem.model.BookInfo;
import com.example.librarymanagementsystem.model.UserInfo;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface BookMapper {
    @Insert("insert into book_info (book_name,author,`count`,price,publish,`status`) " +
            "values (#{bookName},#{author},#{count},#{price},#{publish},#{status});")
    Integer insertBook(BookInfo bookInfo);

    @Select("select * from  book_info where `status` != 0 order by id limit #{offset},#{limit}")
    List<BookInfo> queryBookByPage(Integer offset,Integer limit);

    @Select("select count(1) from book_info where `status` != 0")
    Integer selectCount();

    @Select("select * from book_info where id = #{id}")
    BookInfo queryById(Integer id);

   Integer updateBookById(BookInfo bookInfo);

   @Update("update book_info set `status` = 0 where id = #{id}")
    Integer deleteBookById(Integer id);

    Integer batchDeleteBookById(List<Integer> ids);
}
